Certain prior computer systems represent numbers in a variety of ways depending on whether the numbers are integer values or floating point values. In said prior computer systems, these values are represented only as pure or dimensionless numbers. When said prior computers are used for calculating data for physical or engineering phenomena, the dimensions for the quantities involved or the units that they represent (length, mass, time, temperature, etc.) are neither stored by said computers nor checked for validity in arithmetic operations. This is true even though it would be an error, for example, to add a quantity representing time to one representing mass.
FIG. 1 shows how a value is represented in one prior computer system. The entire word 1 comprises merely a value 2 without any description of the units which it represents. In this prior scheme, the computer system performs operations on variables without any regard for the physical units which the variables may represent. Under this prior system of representation, a number representing time might erroneously be added to a number representing mass, for example. If this computation is not checked for type compatibility during programming by the computer programmer, then an error may result.
Nevertheless, in certain prior computer systems a compiler will yield an error if a character value is set to a numerical value, or vice-versa. No provision is currently made, however, in said prior computer system compilers to check whether given numerical values represent the same physical units. Therefore, the burden of keeping track of such physical units falls upon the programmer of said prior computers. The programmer, in turn, needs to use extensive manual bookkeeping, which is a procedure prone to error.
Moreover, in said prior computers, the conversion of a program designed for one set of units (for example, English units such as inches or pounds) to another set of units (such as metric meters or kilograms) might require reprogramming that potentially is complicated, tedious, and error-prone.